import * as THREE from 'three'
import Viewer from '../core/Viewer'

export default class Base<T> {
  declare private points: THREE.Vector3[]
  declare view: Viewer
  declare step: number
  declare maxStep: number
  declare tips: string
  declare creat: (options: T) => this
  declare pointerDown: (e: PointerEvent) => void
  declare pointerMove: (e: PointerEvent) => void
  declare pointerUp: (e: PointerEvent) => void
  declare reset: () => void
  declare destroy: () => void
}